package onenet

//注册设备请求
type RegistDeviceReq struct {
	Title    string      `json:"title"`     //设备名称
	Desc     string      `json:"desc"`      //设备描述
	Tags     []string    `json:"tags"`      //设备标签，字符串数组
	Protocol string      `json:"protocol"`  //接入协议，这里只能是LWM2M
	Location Site        `json:"Site"`      //设备位置（“纬度”，“经度”，“高度”）
	Private  bool        `json:"private"`   //设备私密性（默认true)
	AuthInfo interface{} `json:"auth_info"` //NBIOT设备：{“imei码”：“imsi码”}，imei、imsi规则见说明
	Auth     string      `json:"auth"`      //Auth_Code，由数字或字母组成，不超过16位
	Obsv     bool        `json:"obsv"`      //是否订阅设备资源（默认为true）
	//Other    map[string]string `json:"other"`     //其他信息（JSON格式，可自定义）
	//Chip int    `json:"chip"` //测试设备与芯片类型对应关系（取值1-6），详情见说明
	//Psk string `json:"psk"` //DTLS加密所使用的PSK，长度8-16个字节，字母或数字组成
}

//新建设备注册
func newRegistDeviceReq(imei, imsi string) *RegistDeviceReq {
	return &RegistDeviceReq{
		Title:    imei,
		Tags:     []string{"钱测试"},
		Protocol: "LWM2M",
		Private:  true,
		AuthInfo: map[string]string{imei: imsi},
		Obsv:     true,
	}
}

//注册设备响应
type RegistDeviceRes struct {
	DeviceID string `json:"device_id"`
	Key      string `json:"key"`
}
